package com.budwk.app.miniapp.models;

import com.budwk.starter.common.openapi.annotation.ApiModel;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import lombok.Data;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;

import java.io.Serializable;
import java.sql.Timestamp;

/**
 * @author wizzer(wizzer.cn) on 2016/7/1.
 */
@Data
@Table("dfxy_enterprise.wx_config")
@ApiModel(description = "微信配置表")
public class WxConfig implements Serializable {


    private static final long serialVersionUID = 1402333875018541919L;
    /*
     * 参数主键
     * */
    @Name
    @Column("config_id")
    @ApiModelProperty(description = "ID")
    @ColDefine(type = ColType.VARCHAR, width = 32)
    @PrevInsert(els = {@EL("uuid()")})
    private String id;

    /*
     * 参数名称
     * */
    @Column("config_name")
    @Comment("参数名称")
    @ApiModelProperty(description = "参数名称")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String configName;

    /*
     * 参数键名
     * */
    @Column("config_key")
    @Comment("参数键名")
    @ApiModelProperty(description = "参数键名")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String configKey;

    /*
     * 参数内容
     * */
    @Column("config_value")
    @Comment("参数内容")
    @ApiModelProperty(description = "参数内容")
    @ColDefine(type = ColType.VARCHAR, width = 80000)
    private String configValue;

    /*
     * 系统内置（Y是 N否）
     * */
    @Column("config_type")
    @Comment("系统内置（Y是 N否）")
    @ApiModelProperty(description = "系统内置（Y是 N否）")
    @ColDefine(type = ColType.VARCHAR, width = 50)
    private String configType;

    /**
     * 创建者
     */
    @Column("create_by")
    @Comment("创建者")
    @ApiModelProperty(description = "创建者")
    @ColDefine(type = ColType.VARCHAR, width = 64)
    private String createBy;

    /**
     * 创建时间
     */
    @Column("create_time")
    @Comment("创建时间")
    @ApiModelProperty(description = "创建时间")
    @ColDefine(type = ColType.TIMESTAMP, width = 6)
    private Timestamp createTime;

    /**
     * 更新者
     */
    @Column("update_by")
    @Comment("更新者")
    @ApiModelProperty(description = "更新者")
    @ColDefine(type = ColType.VARCHAR, width = 64)
    private String updateBy;

    /**
     * 更换时间
     */
    @Column("update_time")
    @Comment("更换时间")
    @ApiModelProperty(description = "更换时间")
    @ColDefine(type = ColType.TIMESTAMP, width = 6)
    private Timestamp updateTime;

    /*
     * 备注
     * */
    @Column
    @Comment("备注")
    @ApiModelProperty(description = "备注")
    @ColDefine(type = ColType.VARCHAR, width = 500)
    private String remark;

    /*
     * 版本号
     * */
    @Column
    @Comment("版本号")
    @ApiModelProperty(description = "版本号")
    @ColDefine(type = ColType.VARCHAR, width = 255)
    private String versions;

    @Column
    @Comment("公众号名称")
    @ApiModelProperty(description = "公众号名称")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String appname;


    @Column
    @Comment("Appid")
    @ApiModelProperty(description = "Appid")
    @ColDefine(type = ColType.VARCHAR, width = 50)
    private String appid;
    @Column
    @Comment("Token")
    @ApiModelProperty(description = "Token")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String token;

    @Column
    @Comment("Appsecret")
    @ApiModelProperty(description = "Appsecret")
    @ColDefine(type = ColType.VARCHAR, width = 50)
    private String appsecret;

    @Column
    @Comment("EncodingAESKey")
    @ApiModelProperty(description = "EncodingAESKey")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String encodingAESKey;

}
